#pragma once
#include <BWAPI.h>

class MyUnit{
protected:
	enum UnitState {attack, reposition, cooldown, none};
	UnitState m_state;
	BWAPI::Unit* m_BWAPIUnit;
	bool targetFire();
	virtual void displayState() const;
	int m_minCooldown;
public:
	MyUnit(
		BWAPI::Unit* unit
	);
	inline BWAPI::Unit* getBWAPIUnit() const { return m_BWAPIUnit; }
	void displayLastCommand() const;
	void MyUnit::onFrameAttack(
		const BWAPI::Position &enemyPosition
	);
};